#include "MyLinkList.h"

//初始化链表
LinkList* Init_LinkList() {
    LinkList* list = (LinkList*)malloc(sizeof(LinkList));
    list->head.next = NULL;
    list->size = 0;
    return list;
}
//插入
void Insert_LinkList(LinkList* list, int pos,LinkNode* data) {
    if(list == NULL) return;
    if(data == NULL) return;
    if(pos < 1 || pos > list->size + 1) return;

    //查找插入位置
    LinkNode* pCurrent = &(list->head);
    for(int i = 1;i <= pos;i++) {
        pCurrent = pCurrent->next;
    }

    //插入新结点
    data->next = pCurrent->next;
    pCurrent->next = data;

    list->size++;
}
//删除指定位置的值
void RemoveByPos_LinkList(LinkList* list,int pos) {

}
//获得链表的长度
int Size_LinkList(LinkList* list) {

}
//打印
void Print_LinkList(LinkList* list,PRINTNODE print) {
    if(list == NULL) return;
    //辅助指针
    LinkNode* pCurrent = list->head.next;
    while (pCurrent != NULL) {
        print(pCurrent);
        pCurrent = pCurrent->next;
    }
}
//释放链表内存
void FreeSpace_LinkList(LinkList* list) {
    if(list == NULL) return;
    free(list);
}
//按值查找
int Find_LinkList(LinkList* list,LinkNode* data) {

}